{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179491</th>\n",
       "      <td>13438800</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>11</td>\n",
       "      <td>2783.48</td>\n",
       "      <td>99.24</td>\n",
       "      <td>489.90</td>\n",
       "      <td>253.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 23:06:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179492</th>\n",
       "      <td>13438866</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>10</td>\n",
       "      <td>1951.10</td>\n",
       "      <td>85.37</td>\n",
       "      <td>529.51</td>\n",
       "      <td>195.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 23:07:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179493</th>\n",
       "      <td>13438917</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>494.17</td>\n",
       "      <td>103.95</td>\n",
       "      <td>211.47</td>\n",
       "      <td>164.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 23:08:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179494</th>\n",
       "      <td>13438981</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1798.28</td>\n",
       "      <td>101.11</td>\n",
       "      <td>433.30</td>\n",
       "      <td>199.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 23:09:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179495</th>\n",
       "      <td>13439086</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>6</td>\n",
       "      <td>1017.97</td>\n",
       "      <td>74.45</td>\n",
       "      <td>298.97</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-30 23:10:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>179496 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                id                     api  count  res_time_sum  res_time_min  \\\n",
       "0       2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1           162644  /front-api/bill/create      5        749.12        103.79   \n",
       "2           162742  /front-api/bill/create      5        845.84        136.31   \n",
       "3           162808  /front-api/bill/create      9       1305.52         90.12   \n",
       "4           162943  /front-api/bill/create      3        568.89        138.45   \n",
       "...            ...                     ...    ...           ...           ...   \n",
       "179491    13438800  /front-api/bill/create     11       2783.48         99.24   \n",
       "179492    13438866  /front-api/bill/create     10       1951.10         85.37   \n",
       "179493    13438917  /front-api/bill/create      3        494.17        103.95   \n",
       "179494    13438981  /front-api/bill/create      9       1798.28        101.11   \n",
       "179495    13439086  /front-api/bill/create      6       1017.97         74.45   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "0             177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1             240.38         149.0        60  2018-11-01 00:01:07  \n",
       "2             225.73         169.0        60  2018-11-01 00:02:07  \n",
       "3             196.61         145.0        60  2018-11-01 00:03:07  \n",
       "4             232.02         189.0        60  2018-11-01 00:04:07  \n",
       "...              ...           ...       ...                  ...  \n",
       "179491        489.90         253.0        60  2019-05-30 23:06:21  \n",
       "179492        529.51         195.0        60  2019-05-30 23:07:21  \n",
       "179493        211.47         164.0        60  2019-05-30 23:08:21  \n",
       "179494        433.30         199.0        60  2019-05-30 23:09:21  \n",
       "179495        298.97         169.0        60  2019-05-30 23:10:21  \n",
       "\n",
       "[179496 rows x 9 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_table(\"./log.txt\",names=[\"id\",\"api\",\"count\",\"res_time_sum\",\"res_time_min\",\"res_time_max\",\"res_time_avg\",\"interval\",\"created_at\"])\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "检测是否有重复值(时间)(由于unique个数等于count个数，所以没有重复）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-01-06 23:49:07\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "检查数据是否有异常(各列非空数据个数和数据总个数相等，所以没有非空数据）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   api           179496 non-null  object \n",
      " 2   count         179496 non-null  int64  \n",
      " 3   res_time_sum  179496 non-null  float64\n",
      " 4   res_time_min  179496 non-null  float64\n",
      " 5   res_time_max  179496 non-null  float64\n",
      " 6   res_time_avg  179496 non-null  float64\n",
      " 7   interval      179496 non-null  int64  \n",
      " 8   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "检查数据异常项(res_time_avg 数据最大值和中位数，平均值差距太大)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>1.794960e+05</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>6.877739e+06</td>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.012494e+06</td>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.626440e+05</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>3.825233e+06</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>6.811510e+06</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>9.981455e+06</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>2.019163e+09</td>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "      <td>60.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 id          count   res_time_sum   res_time_min  \\\n",
       "count  1.794960e+05  179496.000000  179496.000000  179496.000000   \n",
       "mean   6.877739e+06       7.175909    1393.177832     108.419626   \n",
       "std    6.012494e+06       4.325160    1499.486073      79.640693   \n",
       "min    1.626440e+05       1.000000      36.550000       3.210000   \n",
       "25%    3.825233e+06       4.000000     607.707500      83.410000   \n",
       "50%    6.811510e+06       7.000000    1154.905000      97.120000   \n",
       "75%    9.981455e+06      10.000000    1834.117500     116.990000   \n",
       "max    2.019163e+09      31.000000  142650.550000   18896.640000   \n",
       "\n",
       "        res_time_max   res_time_avg  interval  \n",
       "count  179496.000000  179496.000000  179496.0  \n",
       "mean      359.880374     187.812208      60.0  \n",
       "std       638.919827     224.464813       0.0  \n",
       "min        36.550000      36.000000      60.0  \n",
       "25%       198.280000     144.000000      60.0  \n",
       "50%       256.090000     167.000000      60.0  \n",
       "75%       374.410000     202.000000      60.0  \n",
       "max    142468.270000   71325.000000      60.0  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "检查数据异常项(res_time_avg 的标准差为2.24)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id              6.012494e+06\n",
       "count           4.325160e+00\n",
       "res_time_sum    1.499486e+03\n",
       "res_time_min    7.964069e+01\n",
       "res_time_max    6.389198e+02\n",
       "res_time_avg    2.244648e+02\n",
       "interval        0.000000e+00\n",
       "dtype: float64"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.std()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于数据当中的api列和interval当中所有的数据都一样，所以对数据分析无用，可以删除"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['/front-api/bill/create'], dtype=object)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['interval'].unique()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "删除api和interval这两列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179491</th>\n",
       "      <td>11</td>\n",
       "      <td>2783.48</td>\n",
       "      <td>99.24</td>\n",
       "      <td>489.90</td>\n",
       "      <td>253.0</td>\n",
       "      <td>2019-05-30 23:06:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179492</th>\n",
       "      <td>10</td>\n",
       "      <td>1951.10</td>\n",
       "      <td>85.37</td>\n",
       "      <td>529.51</td>\n",
       "      <td>195.0</td>\n",
       "      <td>2019-05-30 23:07:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179493</th>\n",
       "      <td>3</td>\n",
       "      <td>494.17</td>\n",
       "      <td>103.95</td>\n",
       "      <td>211.47</td>\n",
       "      <td>164.0</td>\n",
       "      <td>2019-05-30 23:08:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179494</th>\n",
       "      <td>9</td>\n",
       "      <td>1798.28</td>\n",
       "      <td>101.11</td>\n",
       "      <td>433.30</td>\n",
       "      <td>199.0</td>\n",
       "      <td>2019-05-30 23:09:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>179495</th>\n",
       "      <td>6</td>\n",
       "      <td>1017.97</td>\n",
       "      <td>74.45</td>\n",
       "      <td>298.97</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2019-05-30 23:10:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>179496 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        count  res_time_sum  res_time_min  res_time_max  res_time_avg  \\\n",
       "0           8       1057.31         88.75        177.72         132.0   \n",
       "1           5        749.12        103.79        240.38         149.0   \n",
       "2           5        845.84        136.31        225.73         169.0   \n",
       "3           9       1305.52         90.12        196.61         145.0   \n",
       "4           3        568.89        138.45        232.02         189.0   \n",
       "...       ...           ...           ...           ...           ...   \n",
       "179491     11       2783.48         99.24        489.90         253.0   \n",
       "179492     10       1951.10         85.37        529.51         195.0   \n",
       "179493      3        494.17        103.95        211.47         164.0   \n",
       "179494      9       1798.28        101.11        433.30         199.0   \n",
       "179495      6       1017.97         74.45        298.97         169.0   \n",
       "\n",
       "                 created_at  \n",
       "0       2018-11-01 00:00:07  \n",
       "1       2018-11-01 00:01:07  \n",
       "2       2018-11-01 00:02:07  \n",
       "3       2018-11-01 00:03:07  \n",
       "4       2018-11-01 00:04:07  \n",
       "...                     ...  \n",
       "179491  2019-05-30 23:06:21  \n",
       "179492  2019-05-30 23:07:21  \n",
       "179493  2019-05-30 23:08:21  \n",
       "179494  2019-05-30 23:09:21  \n",
       "179495  2019-05-30 23:10:21  \n",
       "\n",
       "[179496 rows x 6 columns]"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop(['id','api','interval'], axis = 1)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用created_at这一列的数据作为时间索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:06:21</th>\n",
       "      <td>11</td>\n",
       "      <td>2783.48</td>\n",
       "      <td>99.24</td>\n",
       "      <td>489.90</td>\n",
       "      <td>253.0</td>\n",
       "      <td>2019-05-30 23:06:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:07:21</th>\n",
       "      <td>10</td>\n",
       "      <td>1951.10</td>\n",
       "      <td>85.37</td>\n",
       "      <td>529.51</td>\n",
       "      <td>195.0</td>\n",
       "      <td>2019-05-30 23:07:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:08:21</th>\n",
       "      <td>3</td>\n",
       "      <td>494.17</td>\n",
       "      <td>103.95</td>\n",
       "      <td>211.47</td>\n",
       "      <td>164.0</td>\n",
       "      <td>2019-05-30 23:08:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:09:21</th>\n",
       "      <td>9</td>\n",
       "      <td>1798.28</td>\n",
       "      <td>101.11</td>\n",
       "      <td>433.30</td>\n",
       "      <td>199.0</td>\n",
       "      <td>2019-05-30 23:09:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:10:21</th>\n",
       "      <td>6</td>\n",
       "      <td>1017.97</td>\n",
       "      <td>74.45</td>\n",
       "      <td>298.97</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2019-05-30 23:10:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>179496 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 23:06:21     11       2783.48         99.24        489.90   \n",
       "2019-05-30 23:07:21     10       1951.10         85.37        529.51   \n",
       "2019-05-30 23:08:21      3        494.17        103.95        211.47   \n",
       "2019-05-30 23:09:21      9       1798.28        101.11        433.30   \n",
       "2019-05-30 23:10:21      6       1017.97         74.45        298.97   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07  \n",
       "...                           ...                  ...  \n",
       "2019-05-30 23:06:21         253.0  2019-05-30 23:06:21  \n",
       "2019-05-30 23:07:21         195.0  2019-05-30 23:07:21  \n",
       "2019-05-30 23:08:21         164.0  2019-05-30 23:08:21  \n",
       "2019-05-30 23:09:21         199.0  2019-05-30 23:09:21  \n",
       "2019-05-30 23:10:21         169.0  2019-05-30 23:10:21  \n",
       "\n",
       "[179496 rows x 6 columns]"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index = pd.to_datetime(df.created_at)\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "删除无用的created_at列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:06:21</th>\n",
       "      <td>11</td>\n",
       "      <td>2783.48</td>\n",
       "      <td>99.24</td>\n",
       "      <td>489.90</td>\n",
       "      <td>253.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:07:21</th>\n",
       "      <td>10</td>\n",
       "      <td>1951.10</td>\n",
       "      <td>85.37</td>\n",
       "      <td>529.51</td>\n",
       "      <td>195.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:08:21</th>\n",
       "      <td>3</td>\n",
       "      <td>494.17</td>\n",
       "      <td>103.95</td>\n",
       "      <td>211.47</td>\n",
       "      <td>164.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:09:21</th>\n",
       "      <td>9</td>\n",
       "      <td>1798.28</td>\n",
       "      <td>101.11</td>\n",
       "      <td>433.30</td>\n",
       "      <td>199.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 23:10:21</th>\n",
       "      <td>6</td>\n",
       "      <td>1017.97</td>\n",
       "      <td>74.45</td>\n",
       "      <td>298.97</td>\n",
       "      <td>169.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>179496 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 23:06:21     11       2783.48         99.24        489.90   \n",
       "2019-05-30 23:07:21     10       1951.10         85.37        529.51   \n",
       "2019-05-30 23:08:21      3        494.17        103.95        211.47   \n",
       "2019-05-30 23:09:21      9       1798.28        101.11        433.30   \n",
       "2019-05-30 23:10:21      6       1017.97         74.45        298.97   \n",
       "\n",
       "                     res_time_avg  \n",
       "created_at                         \n",
       "2018-11-01 00:00:07         132.0  \n",
       "2018-11-01 00:01:07         149.0  \n",
       "2018-11-01 00:02:07         169.0  \n",
       "2018-11-01 00:03:07         145.0  \n",
       "2018-11-01 00:04:07         189.0  \n",
       "...                           ...  \n",
       "2019-05-30 23:06:21         253.0  \n",
       "2019-05-30 23:07:21         195.0  \n",
       "2019-05-30 23:08:21         164.0  \n",
       "2019-05-30 23:09:21         199.0  \n",
       "2019-05-30 23:10:21         169.0  \n",
       "\n",
       "[179496 rows x 5 columns]"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop('created_at', axis = 1)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析2018-11-01 这一天的api调用次数情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2018-11-01']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析2018-11-01一天中api响应时间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "res_data = df['2018-11-01'].resample('20T').mean()\n",
    "res_data[['res_time_min','res_time_max','res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析2018-11-01到2018-11-11连续的几天数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2018-11-01':'2018-11-11']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "分析周末访问量是否有增加"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['weekend']=df.index.weekday.isin({5,6})\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level=0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
